<?php
/**
 * 简单选择排序: 设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录（Ri,Ri+1,…,Rn）中找出排序码最小的记录，与第i个记录交换。
 * 执行n-1趟 后就完成了记录序列的排序。
 * User: yuesir
 * @author //github.com/yuesir
 */


/**
 * 简单选择
 * @param array $bucket
 * @return array
 */
function simpleSelect(array $bucket) {
    if ( empty($bucket) || 1 == count($bucket)) return $bucket;

    $count = count($bucket);
    for ($i = 0; $i < $count; $i++) {

        $minIndex = $i;

        for ($j = $i; $j < $count - 1; $j++) {
            if ($bucket[$j+1] < $bucket[$j]) {
                $minIndex = $j+1;
            }
        }

        if ($minIndex != $i) {
            $tmp = $bucket[$minIndex];
            $bucket[$minIndex] = $bucket[$i];
            $bucket[$i] = $tmp;
        }
    }

    return $bucket;
}